using System;
using UniversalAdmin.Domain.Entities;

namespace UniversalAdmin.Domain.Entities.App;

public class AppOperationLog : EntityBase
{
    public Guid UserId { get; set; } // 操作用户ID (关联User.Id)
    public string Action { get; set; } = string.Empty; // 操作类型
    public string Operation { get; set; } = string.Empty; // 操作路径
    public string Resource { get; set; } = string.Empty; // 资源类型
    public Guid? ResourceId { get; set; } // 资源ID (可空)
    public string IpAddress { get; set; } = string.Empty; // IP地址
    public string UserAgent { get; set; } = string.Empty; // 用户代理
    
    // 新增字段 - 系统运行日志
    public string LogLevel { get; set; } = "info"; // 日志级别: info, warn, error, debug
    public string Module { get; set; } = string.Empty; // 模块名称
    public string Message { get; set; } = string.Empty; // 日志消息
    public string? Details { get; set; } // 详细信息
    public string? Exception { get; set; } // 异常信息
    public string? RequestBody { get; set; } // 请求体
    public string? ResponseBody { get; set; } // 响应体
    public int? StatusCode { get; set; } // HTTP状态码
    public long? ExecutionTime { get; set; } // 执行时间(毫秒)
}